package com.yl.zqy.entity.sys;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.time.LocalDateTime;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 系统用户
 * </p>
 *
 * @author liang.yu
 * @since 2024-03-24
 */
@Getter
@Setter
@TableName("sys_user")
@Schema(name = "SysUser对象", description = "系统用户")
public class SysUser implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "id")
    @TableId("id")
    private String id;

    @Schema(description = "用户名")
    @TableField("username")
    private String username;

    @Schema(description = "密码")
    @TableField(value = "password", fill = FieldFill.INSERT)
    private String password;

    @Schema(description = "姓名")
    @TableField("real_name")
    private String realName;

    @Schema(description = "头像")
    @TableField("head_url")
    private String headUrl;

    @Schema(description = "性别   0：男   1：女    2：保密")
    @TableField("gender")
    private String gender;

    @Schema(description = "邮箱")
    @TableField("email")
    private String email;

    @Schema(description = "手机号")
    @TableField("mobile")
    private String mobile;

    @Schema(description = "部门ID")
    @TableField("dept_id")
    private String deptId;

    @Schema(description = "部门名称")
    @TableField("dept_name")
    private String deptName;

    @Schema(description = "超级管理员   0：否   1：是")
    @TableField("super_admin")
    private String superAdmin;

    @Schema(description = "状态  0：停用   1：正常")
    @TableField(value = "status",fill = FieldFill.INSERT)
    private String status;

    @Schema(description = "创建者")
    @TableField(value = "creator", fill = FieldFill.INSERT)
    private String creator;

    @Schema(description = "创建时间")
    @TableField(value = "create_date", fill = FieldFill.INSERT)
    private LocalDateTime createDate;

    @Schema(description = "更新者")
    @TableField(value = "updater", fill = FieldFill.UPDATE)
    private String updater;

    @Schema(description = "更新时间")
    @TableField(value = "update_date", fill = FieldFill.UPDATE)
    private LocalDateTime updateDate;


}
